package com.llc.mall.order.interfaces.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import java.util.Date;
import java.util.List;

public record OrderVo(
        @Schema(description = "订单ID") Long orderId,
        @Schema(description = "店铺id") Long shopId,
        @Schema(description = "用户ID") Long userId,
        @Schema(description = "店铺名称") String shopName,
        @Schema(description = "总值") Long total,
        @Schema(description = "订单状态 1:待付款 2:待发货 3:待收货(已发货) 5:成功 6:失败") Integer status,
        @Schema(description = "配送类型 3：无需快递") Integer deliveryType,
        @Schema(description = "订单关闭原因 1-超时未支付 4-买家取消 15-已通过货到付款交易") Integer closeType,
        @Schema(description = "订单商品总数") Integer allCount,
        @Schema(description = "付款时间") Date payTime,
        @Schema(description = "发货时间") Date deliveryTime,
        @Schema(description = "完成时间") Date finallyTime,
        @Schema(description = "取消时间") Date cancelTime,
        @Schema(description = "是否已支付，1.已支付0.未支付") Integer isPayed,
        @Schema(description = "用户订单删除状态，0：没有删除， 1：回收站， 2：永久删除") Integer deleteStatus,
        @Schema(description = "订单项") List<OrderItemVo> orderItems,
        @Schema(description = "订单地址") OrderAddrVo orderAddr
) {}
